/******************************************************************************
//             INTEL CORPORATION PROPRIETARY INFORMATION
//  This software is supplied under the terms of a license agreement or
//  nondisclosure agreement with Intel Corporation and may not be copied
//  or disclosed except in accordance with the terms of that agreement.
//        Copyright (c) 2000-2001 Intel Corporation. All Rights Reserved.
//
//  Description:
//      Intel(R) JPEG library for X platform 
//
********************************************************************************/
#ifndef _IJDCODE_H
#define _IJDCODE_H

void ijAdjustMCUBufferInv_1 (IJMCUSPEC   *pMCUSpec,
                             IJBUFFER *pIJXBuffer);
void ijAdjustMCUBufferInv_3 (IJMCUSPEC   *pMCUSpec,
                             IJBUFFER *pIJXBuffer);

IJXRESULT ijReadFrame(IJBITTREAMSTATE *pStream,
                      IJDECODESTATE *pDecodeState);

IJXRESULT ijParseTablesMisc(IJBITTREAMSTATE *pStream,
                            IJDECODESTATE *pDecodeState);

IJXRESULT ijAdjustRestartIntervalInv(IJBITTREAMSTATE *pStream,
                                     IJDECODESTATE *pDecodeState);

IJXRESULT ijCalcDecBufferSize(int         nJPEGMode,
                              int         nNumDesiredImageComp,
                              IJMCUSPEC   *pMCUSpec,
                              IJBUFFER    *pIJXBuffer);

IJXRESULT ijDecompress_BaseLine(IJBITTREAMSTATE *pStream,
                                IJDECODESTATE *pDecodeState);

IJXRESULT ijDecompress_Progressive(IJBITTREAMSTATE *pStream,
                                   IJDECODESTATE *pDecodeState);
IJXRESULT ijDecompress_Motion_Indiv(IJBITTREAMSTATE *pStream,
                                    IJDECODESTATE *pDecodeState);
///////////////////////////////////////
#ifdef _MOTION_DIFF
IJXRESULT ijDecompress_Motion_Diff(IJBITTREAMSTATE *pStream,
                                   IJDECODESTATE *pDecodeState);
#else
#define ijDecompress_Motion_Diff NULL
#endif

#ifdef _MOTION_BRIEF
IJXRESULT ijDecompress_Motion_Brief(IJBITTREAMSTATE *pStream,
                                    IJDECODESTATE *pDecodeState);
#else
#define ijDecompress_Motion_Brief NULL
#endif
///////////////////////////////////////

IJXRESULT ijPreprocessMarker(IJBITTREAMSTATE *pStream,
                             IJDECODESTATE *pDecodeState);
#endif

/* EOF */
